//#define _CRT_SECURE_NO_WARNINGS
//#include<stdio.h>
//
//int cmp_int(const void* a, const void* b)
//{
//	return (*(int*)a - *(int*)b);
//}
//
//void my_qsort(void* arr, size_t ElementNum, size_t ElementSize, int (*cmp)(const void*, const void*))
//{
//	for (int i = 0; i < ElementNum - 1; i ++)
//	{
//		for (int j = 0; j < ElementNum - i - 1; j ++)
//		{
//			if (cmp((char*)arr + j * ElementSize, (char*)arr + (j + 1) * ElementSize) > 0)
//			{
//				for (int k = 0; k < ElementSize; k++)
//				{
//					char tmp = *((char*)arr +  j * ElementSize + k);
//					*((char*)arr + j * ElementSize + k) = *((char*)arr + j * ElementSize + ElementSize + k);
//					*((char*)arr + j * ElementSize + ElementSize + k) = tmp;
//				}
//			}
//		}
//	}
//}
//
//int main()
//{
//	int arr[] = { 9,8,7,6,5,4,1,3,2 };
//	my_qsort(arr, sizeof(arr) / sizeof(arr[0]), sizeof(arr[0]), cmp_int);
//	//qsort(arr, sizeof(arr) / sizeof(arr[0]), sizeof(arr[0]), cmp_int);
//	for (int i = 0; i < sizeof(arr) / sizeof(arr[0]); i++)
//	{
//		printf("%d ", arr[i]);
//	}
//
//
//	return 0;
//}